package com.scale.service.user.service;

import com.example.user.dto.UserProfileUpdateDTO;
import com.example.user.dto.PasswordUpdateDTO;
import com.example.user.vo.UserProfileVO;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户个人资料服务接口
 * @author crp
 * @since 2025-09-28
 */
public interface UserProfileService {

    /**
     * 获取用户详细资料
     * @param userId 用户ID
     * @return 用户详细资料
     */
    UserProfileVO getUserProfile(Long userId);

    /**
     * 更新用户基本信息
     * @param userId 用户ID
     * @param updateDTO 更新数据
     */
    void updateUserProfile(Long userId, UserProfileUpdateDTO updateDTO);

    /**
     * 上传用户头像
     * @param userId 用户ID
     * @param avatarFile 头像文件
     * @return 头像URL
     */
    String uploadAvatar(Long userId, MultipartFile avatarFile);

    /**
     * 修改密码
     * @param userId 用户ID
     * @param passwordDTO 密码更新数据
     */
    void updatePassword(Long userId, PasswordUpdateDTO passwordDTO);
}

